In image coding technologies for a plurality of viewpoints, parallax prediction coding of reducing an information amount by predicting a parallax between images when images of a plurality of viewpoints are coded and decoding methods corresponding to the coding methods have been proposed (for example, see NPL 1). A vector indicating a parallax between viewpoint images is referred to as a disparity vector. The disparity vector is a 2-dimensional vector having a component value (x component) in the horizontal direction and a component value (y component) in the vertical direction and is calculated for each of the blocks which are regions divided from one image. When multi-viewpoint images are acquired, a camera disposed at each viewpoint is generally used. In the multi-viewpoint coding, viewpoint images are coded using as different layers in a plurality of layers. A method of coding a moving image including a plurality of layers is generally referred to as scalable coding or hierarchy coding. In the scalable coding, high coding efficiency is realized by executing prediction between layers. A layer serving as a reference point without executing the prediction between the layers is referred to as a base layer and the other layers are referred to as enhancement layers. The scalable coding when layers are configured from a viewpoint image is referred to as view scalable coding. At this time, the base layer is also referred to as a base view and the enhancement layer is also referred to a non-base view. Further, in addition to the view scalable coding, scalable coding when layers are configured from texture layers (image layers) and depth layers (distance image layers) is referred to as 3-dimensional scalable coding.
As the scalable coding, there are spatial scalable coding (a method of processing a picture with a low resolution as a base layer and processing a picture with a high resolution as an enhancement layer) and SNR scalable coding (a method of processing a picture with low quality as a base layer and processing a picture with high resolution as an enhancement layer) in addition to the view scalable coding. In the scalable coding, for example, a picture of a base layer is used as a reference picture in coding of a picture of an enhancement layer in some cases.
In NPL 1, an SVC which is a H.264/AVC-based scalable coding technology, a method of referring to a residual of a base layer as residual prediction used to predict an enhancement layer is known. In NPL 2, a technology for resolving parsing dependency in residual prediction in which a residual of a base view is used to predict a non-base view is known as an HEVC-based 3-dimensional scalable coding technology. In NPL 3, a technology called illumination compensation in which an illumination change of peripheral pixels of a prediction target block is used to predict the prediction target block is known as an HEVC-based 3-dimensional scalable coding technology. Further, in NPL 3, a technology of predicting parameters of an adaptive offset filter of a non-base view using parameters of an adaptive offset filter of a base view is known as an HEVC-based 3-dimensional scalable coding technology.